The present invention relates, in general, to the field of computers and computer database systems incorporating a plurality of computer mass storage devices for storing data. More particularly, the present invention relates to a system and method for automatically distributing copies of a replicated database in a computer system.
In a replicated computer database system, copies of the database (the xe2x80x9creplicasxe2x80x9d) are distributed across various physical computer mass storage devices, such as individual disk drives, in order to ensure that the loss of a single drive does not compromise the contents of the database. In other words, replicated systems must guarantee that the most recent data is being presented to the system. Shared sets of disk drives in multi-host computer systems may comprise a pair of host computers and a plurality of associated disk drives, each storing a portion of the database. However, there has heretofore been no automated means for distribution of database replicas across the various system components to minimize the number of potential single points of failure. The distribution of the replicas has historically been a system administration function effectuated on an ad hoc basis and, as a consequence, its efficacy has been dependent on the knowledge and skills of a given system administrator. Moreover, the distribution of replicas in this manner can often result in the utilization of an excessive number of replicas to ensure data availability with a concomitant degradation in overall system performance.
The system and method of the present invention advantageously automates the distribution of replicas in a replicated database without relying solely on the system administrator to perform this function. While nevertheless allowing for the system administrator to exercise judgment in the final placement of replicas, the computer program implemented function disclosed herein provides a system and method of especial utility in the automated distribution of database replicas such that single points of failure are minimized.
In order to effectuate this, the present invention provides a computer program product, system and method which first analyzes the organization of the computer mass storage devices and controllers attached to the computer system and then determines the optimal distribution of the replicas such that the failure of one or more controllers, computer mass storage devices or groups thereof (the latter hereinafter referred to as xe2x80x9ctraysxe2x80x9d in conjunction with the SPARCstorage(trademark) Array (xe2x80x9cSSAxe2x80x9d) series of computer mass storage disk drive arrays) will not result in a lack of database service.
In a particular embodiment disclosed herein in conjunction with the DiskSuite(trademark) computer program developed and licensed by Sun Microsystems, Inc., assignee of the present invention, the system, method and computer program product of the present invention will automatically distribute database replicas such that more than a single drive, tray or controller may be lost without compromising system integrity.
Particularly disclosed herein is a computer implemented system and method for automatically distributing copies of a replicated database for a computer system comprising at least first and second host computers. Each of the host computers operatively control at least one associated computer mass storage device controller coupled to commonly accessible computer mass storage devices by means of at least one storage device bus. The system and method comprises the step of enumerating each of the various host computers of the computer system, each of the computer mass storage device controllers associated with each host computer and each of the computer mass storage devices coupled to the storage device buses coupling the controllers. Copies of the replicated database are then automatically distributed across the computer mass storage devices such that failures of one or more of the computer mass storage device controllers or the computer mass storage devices will not interrupt operation of the replicated database in the computer system.